using System;
using System.ComponentModel.DataAnnotations;

namespace SIOGDE.AccesoDatos.Entidades
{
 public partial class HistorialEspecialidad
 {
     public HistorialEspecialidad()
     {
         Guid = System.Guid.NewGuid().ToString();
     }
     #region foreign Keys

     public virtual int EspecialidadId_FK {get;set;}
     private Especialidad EspecialidadId_obj ;
     public virtual Especialidad Especialidad
      {
          get { return EspecialidadId_obj; }
          set {
                EspecialidadId_obj = value;
                if (EspecialidadId_obj != null) EspecialidadId_FK = EspecialidadId_obj.Id; 
          }
      }

     public virtual int PersonaId_FK {get;set;}
     private Persona PersonaId_obj ;
     public virtual Persona Persona
      {
          get { return PersonaId_obj; }
          set {
                PersonaId_obj = value;
                if (PersonaId_obj != null) PersonaId_FK = PersonaId_obj.Id; 
          }
      }
     #endregion
     public virtual int   Id { get; set;}

     
     [StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Guid")]
     public virtual string   Guid { get; set;}

     [Required(ErrorMessage="FechaDesde es requerido.")]
     [DataType(DataType.Date)]
     [Display(Name = "FechaDesde")]
     public virtual DateTime   FechaDesde { get; set;}

     [Required(ErrorMessage="FechaHasta es requerido.")]
     [DataType(DataType.Date)]
     [Display(Name = "FechaHasta")]
     public virtual DateTime   FechaHasta { get; set;}

     [DataType(DataType.Date)]
     [Display(Name = "FechaRegistro")]
     public virtual DateTime   FechaRegistro { get; set;}

     [StringLength(50, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "RegistradoPor")]
     public virtual string   RegistradoPor { get; set;}

     [StringLength(100, ErrorMessage = "{0} debe tener al menos {2} caracteres.", MinimumLength = 2)]
     [Display(Name = "Descripcion")]
     public virtual string   Descripcion { get; set;}
 }
}

